package com.wm.blog.center.common.annotation.es;

/**
 * @Author: weiming
 * @Date: 2021/5/21 13:43
 * @Description:
 */





import com.wm.blog.center.common.enums.es.AnalyzerType;
import com.wm.blog.center.common.enums.es.FieldType;

import java.lang.annotation.*;

/**
 * 作用在字段上，用于定义类型，映射关系
 * @author ls
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
@Documented
@Inherited
public @interface EsField {
    FieldType type() default FieldType.TEXT;

    /**
     * 指定分词器
     *
     * @return
     */
    AnalyzerType analyzer() default AnalyzerType.IK_SMART;

    /**
     * 若 fieldType=Date则可以指定
     * @return
     */
    String format() default "yyyy-MM-dd HH:mm:ss";

    /**
     * The index option controls whether field values are indexed.
     * It accepts true or false and defaults to true.
     * Fields that are not indexed are not queryable.
     * true表示可以被检索，像url之类的就可以设置位false
     * @return
     */
    boolean index() default true;

    /**
     * 是否属于es索引中的字段
     * @return
     */
    boolean exist() default true;
}



